package com.class05.requestmapping1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @ClassDescription:
 * @JdkVersion: 17
 * @Author: yxy
 * @Created: 2023/12/1 8:58
 */
@RequestMapping("user")
@Controller
public class UserController {
    //    handler -> handlerMapping指定访问地址
    /*javaee中使用@WebServlet("必须使用/开头")
     @RequestMapping(不要必须使用/开头)
     user/login    /user/login
     1.精准地址[一个 | 多个]
     /user/login{"地址1","地址2"}
     2.支持模糊  * 任意一层字符串  | **任意层任意字符串
     user/* ->user/a  user/aaaa 可以  user/a/b  不可以
     user/** ->user
     user/a   user/a/a/a/a
     */
    /*
    * 3.放置位置：类上和方法上，
    * 类上和方法上添加@RequestMapping的区别：
    * 类上通常提取通用的访问地址
    * 方法上是具体的handler地址
    * 访问：类地址 + 方法地址接口
    * 4.请求方式指定
    * 客户端->http (get | post | put | delete) -> ds ->handler
    * 默认情况：
    * @RequestMapping("login")主要地址正确，任何请求方式都可以访问
    * 指定请求方式：method = {RequestMethod.GET,RequestMethod.POST}
    * 5.注解进阶  只能使用在方法上！
    * get  GetMapping  == @RequestMapping("XXX",RequestMethod.GET)
    * post  PostMapping  == @RequestMapping("XXX",RequestMethod.POST)
    * put  PUTMapping  == @RequestMapping("XXX",RequestMethod.PUT)
    * delete  DeleteMapping  == @RequestMapping("XXX",RequestMethod.DELETE)
    * */



//    @RequestMapping(value = {"**","/login"},method = RequestMethod.GET)
    @ResponseBody
    @GetMapping(value = {"**","/login"})
    public String index() {
        return "index";
    }
}
